1. Field of the Invention
The present invention relates to an ambulatory robot and a method for controlling the same. More particularly, the present invention relates to an ambulatory robot that performs a combination of wheel type movements and leg type movements and a method for controlling the ambulatory robot.
2. Description of the Related Art
The most basic apparatus for driving a movable robot is a four-wheeled driving apparatus. Four-wheeled movable robots have been widely used in industrial fields since the 1970's. Recently, movable robots have been used as cleaning robots, monitoring robots, serving robots, and the like. Four-wheeled movable robots have an advantage in that they are able to run stably without falling. They cannot, however, be widely used in practical applications, because they are only able to move on a flat surface and are not able to traverse a non-flat area, such as a step, a doorsill, or other similar obstacle. In addition, because four-wheeled movable robots are driven by a motor, they have a problem in that the weight and volume of the driving motor is necessarily increased in order to exert torque sufficient for enduring the loads of the four-wheeled robots. In order to make up for the disadvantage of those four-wheeled movable robots, bipedal ambulatory robots or multi-pedal (usually having four or six feet) ambulatory robots have been developed. In particular, Sony has developed a humanoid robot, which is an example of a bipedal ambulatory robot.
FIG. 1 illustrates a conventional bipedal ambulatory robot in a state of standing erect. Referring to the drawing, the bipedal ambulatory robot includes left and right legs for performing ambulation, a trunk, left and right arms, a head, and a control means.
Each leg includes a knee joint, an ankle, and a foot and is adapted to be connected to a lowermost end of the trunk in parallel thereto by way of a leg joint. In addition, each arm includes an elbow joint and a wrist joint and is connected to a right edge or a left edge of the upper part of the trunk by way of a shoulder joint. The head is adapted to be connected to an uppermost end of the trunk by way of a neck joint.
The control means includes a joint controller (not shown) for controlling each joint actuator for the bipedal ambulatory robot, and a signal-processing controller for performing a process corresponding to a signal received from each sensor (not shown).
FIG. 2 illustrates an internal construction of the bipedal ambulatory robot of FIG. 1 displaying the joints thereof. Referring to the drawing, the bipedal ambulatory robot includes a head 110, a pair of arms 130R, 130L (R and L, as used herein, indicate a right side and a left side, respectively), an upper body part including a trunk 150, and a lower body part including a pair of legs 170R, 170L for performing ambulation. The bipedal ambulatory robot includes a neck joint at a connecting part between the head 110 and the trunk 150, three joints, viz., a shoulder joint, an elbow joint, and a wrist joint, in each of the arms 130R, 130L, one joint at the connecting part (corresponding to a human's loins) between the trunk 150 and the lower body part, and three joints, viz., a leg joint, a knee joint, and an ankle joint, in each of the legs 170R, 170L. Here, to facilitate explanation, all joints are exemplarily illustrated as electric motors.
In the bipedal ambulatory robot, the neck joint includes a pitching axis 111, a rolling axis 113 and a yawing axis 115. The pitching axis allows the head to be rotated up and down, the rolling axis allows the head to be rotated left and right, and the yawing axis allows the head to be shaken left and right. Thus, the neck joint has three degrees of freedom.
Each of the shoulder joints includes a pitching axis 131R, 131L that allows the arm to be rotated up and down, a rolling axis 133R, 133L that allows the arm to be rotated left and right, and a yawing axis 135R, 135L that allows the arm to be shaken in front and behind. Each of the elbow joints includes a pitching axis 137R, 137L that allows a lower end of the arm to be rotated up and down, and a yawing axis 139R, 139L that allows the lower end of the arm to be shaken left and right. Each of the wrist joints includes a pitching axis 141R, 141L that allows the wrist to be rotated up and down, and a rolling axis 143R, 143L that allows the wrist to be rotated left and right. Thus, each of the arms 130R, 130L has seven degrees of freedom.
Each of the leg joints includes a pitching axis 171R, 171L that allows the leg to be rotated up and down, a rolling axis 173R, 173L that allows the leg to be rotated left and right, and a yawing axis 175R, 175L that allows the leg to be shaken in front and behind. Each of the knee joints includes a pitching axis 177R, 177L that allows a lower end of the leg to be rotated up and down. Each of the ankle joints includes a pitching axis 179R, 179L that allows the ankles to be rotated up and down, a rolling axis 181R, 181L that allows the ankles to be rotated left and right, and a yawing axis 183R, 183L that allows the ankles to be shaken left and right. Thus, each of the legs 170R, 170L has seven degrees of freedom.
As described above, the bipedal ambulatory robot has a total of thirty-four (34) degrees of freedom (3+7×2+3+7×2=34). The number of degrees of freedom of the bipedal ambulatory robot, however, is not limited to thirty-four (34) and may be increased or decreased by appropriately increasing or decreasing a number of joints.
FIG. 3 graphically illustrates a linear and non-interference multiple material point approximation model applied to the bipedal ambulatory robot of FIG. 1. Referring to the drawing, a 0-XYZ coordinate system indicates a rolling axis, a pitching axis and a yawing axis in an absolute coordinate system, while a 0′-X′Y′Z′ coordinate system indicates a rolling axis, a pitching axis and a yawing axis in a moving coordinate system that moves with the bipedal ambulatory robot. In this context, i indicates the i-th material point. That is, mi indicates a mass of the i-th material point and r′i indicates a position vector of the i-th material point in the moving coordinate system. In addition, a mass of material point of the loins is indicated by mb, and a ZMP (Zero Moment Point) of that material point is indicated by r′ZMP.
The robot is adapted to control a displacement of each motor so that each respective joint follows a basic target-walking pattern. The sum of inertia and gravity of the generated target walk pattern is called target total inertia. The point where the moment of target total inertia becomes zero by removing the vertical component is called a ZMP. The floor reaction is applied to each leg of the robot. The resultant force of each leg is called an overall floor reaction and, a point on the floor, where the moment of the overall floor reaction turns to zero by removing the vertical component, is called a center point of the overall floor reaction. If the robot is walking ideally, the center point of the overall floor reaction coincides with the ZMP.
In general, a bipedal ambulatory robot is so designed that the joints or actuators thereof are driven according to a preset motion pattern and thus the walking motion of the robot is controlled. Herein, a loins motion pattern is determined on the basis of a legs motion pattern, a ZMP trajectory, a trunk motion pattern, a two-arms motion pattern and other arbitrarily selected patterns. In addition, the ZMP is considered as a point where the sole, i.e., the bottom, of one foot of the robot is correctly secured to the floor without any moment when the robot is walking.
In a non-precision multiple material point interference model, the moment equation is a type of linear equation. Here, each material point mi is expressed as a sphere having a center at a material point ri and a radius, which is proportional to the mass thereof. Furthermore, it is assumed that the loins of the robot 100 have a constant height (r′hz+rqz=constant) and the material point of each of the knees is equal to zero.
When the bipedal robot moves, the control means selects the pattern of movement of the legs, the pattern of movement of the two arms, the pattern of movement of the trunk, the trajectory of the ZMP, etc. in order to determine the conditions of the motion of each of the components including the ZMP trajectory, the motion of the trunk, the motion of the two arms, and the height and attitude of the legs. Here, the motion of the loins is selected only in terms of the Z′ direction and is not considered in terms of X′ and Y′ directions. At this time, the moment around the pitching axis and the moment around the rolling axis (Mx, My) on the selected ZMP that will be generated as a result of the motions of the feet, the trunk and the two arms are computationally determined using the linear and non-interference multiple point approximation model. The moment on the ZMP that will be generated as a result of the horizontal plane motion of the loins (r′hx, r′hy) is also computationally determined using the linear and non-interference multiple material point approximation model. Thereafter, the balancing formula for the moments on the selected ZMP is derived on the moving coordinate system 0′-X′Y′Z′ that moves with the robot following a linear and non-interference ZMP equation below.+mhH({umlaut over (r)}hx+{umlaut over (r)}qx+gx)−mhgz(r′hx−r′zmpx)=−My(t)   (1)−mhH({umlaut over (r)}hy+{umlaut over (r)}qy+gy)−mhgz(r′hy−r′zmpy)=−Mx(t)
Now, it is assumed that the following equations hold true,{umlaut over (r)}=0r′hz+rqz=H(t)   (2)H(t)=constant (with respect to time)
The horizontal plane trajectory of the loins is computationally determined by solving the ZMP equation expressed by Equation 1. For example, the ZMP equation can be solved by using a known method, such as Euler's method or a Runge/Kutta method, to obtain the numerical solution for the horizontal absolute position (rhx, rhy) of the loins as represented by the unknown variables. The target position of the ZMP is normally selected on the sole when the latter touches the floor. The numerical solution obtained here is an approximate solution (r′hx, r′hy) for the motion pattern of the loins that allows the robot to walk in a stable manner, which in particular represents the horizontal absolute position of the loins that allows the ZMP to progress to the target position. Now, the moment of the yawing axis that will be generated as the result of the motion of the loins (the moment of the yawing axis is generated in the loins) Mzh is computationally determined by solving the equation below.Mzh(t)=−mh({umlaut over (r)}′hx+{umlaut over (r)}qx+gx)(r′h−r′zmpy)+mh({umlaut over (r)}′hy+{umlaut over (r)}qy+gy)(r′hx−r′zmpx)   (3)
Next, the rotational moment Mz of the yawing axis on the established ZMP that will be generated as a result of the motions of the legs and trunk is computationally determined using the linear and non-interference approximation model. The balancing formula for the rotational moment Mz of the yawing axis on the selected ZMP is also derived on the moving coordinate system 0′-X′Y′Z′ that moves with the robot. That is, by putting the rotational moment Mz of the yawing axis generated as a result of motions between the legs and the torso and the moment Mzh generated by the approximate solution of the motion of the loins in the left side as the term of known variables, and by putting the rotational moment Marm of the yawing axis generated as a result of the motion of the material points of arms in the right side as the term of unknown variables, the linear and non-interference ZMP equation is derived as follows:Marm(θarm, t)=−Mz(t)−Mzh(t)   (4)
The ZMP equation, such as Equation 4, is solved using a numerical solution, such as Euler's method or the Runge/Kutta method, to compensate the moments Mz and Mzh of the yawing axis, thereby computationally determining the arms motion pattern required for enabling stable walking. When computationally determining the arms motion pattern using the numerical solution, previously provided unknown variables for compensating the moments of the yawing axis are applied.
The stable ambulation of the bipedal ambulatory robot is controlled through the above process and the detailed control methods are conventionally disclosed.
However, bipedal ambulatory robots according to the prior art are inferior to general wheel-type robots in terms of maximum advance speed. The maximum walking speed of ASIMO, which is a representative bipedal ambulatory robot manufactured by Honda, is merely 1.6 km/hour. Therefore, efforts have been made to develop a running robot in order to increase the speed of leg type ambulatory robots. It is difficult, however, to produce an amount of torque needed for a robot to run with existing actuators. Thus, the actuators should be enlarged in order to produce sufficient torque for running.